/*******************************************
  Jose Andres Lara Vecino

  Author       : $$Author: cainlara@gmail.com $$
  Last CheckIn : $$Date: 2012-10-03 22:46:59 +0000 (Wed, 03 Oct 2012) $$
  Revision     : $$Revision: 105 $$
*******************************************/

package utilidad;

import persistencia.TmGrupoUsuario;
import persistencia.TmProyecto;
import persistencia.TmRol;
import persistencia.TmSuite;
import persistencia.TmUsuario;
import frente.GrupoUsuarios;
import frente.Proyecto;
import frente.Rol;
import frente.Suite;
import frente.Usuario;

/**
 * Repositorio de metodos.
 * <P>
 * Esta clase es un almacen de metodos 
 * que permiten convertir objetos de la 
 * capa persistente a la capa de vista.
 * 
 * @author jose.lara 06.06.2012
 */
public final class UtilConversor {
    
    private UtilConversor() {
        //Imposible instanciar
    }
    
    public static Suite convertir2Suite(TmSuite persistente) {
        Suite frente = null;
        
        if(persistente != null) {
            frente = new Suite();
            
            frente.setId(persistente.getId());
            
            if(persistente.getPadre() != null) {
                frente.setIdPadre(persistente.getPadre().getId());
            }
            
            frente.setNombre(persistente.getNombre());
        }
        
        return frente;
    }
    
    public static Usuario convertir2Usuario(TmUsuario persistente) {
        Usuario frente = null;
        
        if(persistente != null) {
            frente = new Usuario();
            frente.setClave(persistente.getClave());
            frente.setId(persistente.getId());
            
            if(persistente.getTmGrupoUsuario() != null) {
                frente.setIdGrupoUsuarios(persistente.getTmGrupoUsuario().getId());
                frente.setNombreGrupoUsuario(persistente.getTmGrupoUsuario().getNombre());
            }
            
            frente.setNombre(persistente.getNombre());
            frente.setNombreUsuario(persistente.getNombreUsuario());
            frente.setCorreo(persistente.getCorreo());
        }
        
        return frente;
    }
    
    public static Proyecto convertir2Proyecto(TmProyecto persistente) {
        Proyecto frente = null;
        
        if(persistente != null) {
            frente = new Proyecto();
            
            frente.setId(persistente.getId());
            frente.setNombre(persistente.getNombre());
            frente.setDescripcion(persistente.getDescripcion());
            frente.setVersion(persistente.getVersion());
            frente.setColor(persistente.getColor());
        }
        
        return frente;
    }
    
    public static Rol convertir2Rol(TmRol persistente) {
        Rol frente = null;
        
        if(persistente != null) {
            frente = new Rol();
            
            frente.setId(persistente.getId());
            frente.setNombre(persistente.getNombre());
        }
        
        return frente;
    }
    
    public static GrupoUsuarios convertir2GrupoUsuarios(TmGrupoUsuario persistente) {
        GrupoUsuarios frente = null;
        
        if(persistente != null) {
            frente = new GrupoUsuarios();
            
            frente.setId(persistente.getId());
            frente.setNombre(persistente.getNombre());
        }
        
        return frente;
    }
}